package com.zmh.service.timer;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import com.zmh.common.DateUtil;
import com.zmh.common.FileUtil;
import com.zmh.dao.MessageInfoDao;
import com.zmh.model.wechat.httpClient.MessageInfo;
import com.zmh.service.httpclient.IamtopNotes;
import com.zmh.service.httpclient.WeChat;

/** 
 * 工作日志管理类
 * @author zhoumh
 * @version 创建时间：2017年10月31日 下午4:16:22 
 * @Description 
*/
@Service
@EnableScheduling
public class WorkNotesTimer {
	private static Logger logger = LoggerFactory.getLogger(WorkNotesTimer.class);
	@Autowired
	private IamtopNotes iamtopNotes;
	@Autowired
	private MessageInfoDao messageInfoDao;
	/**
	 * 监控工作日志填报情况
	 * 获取未提报工作日志的人员然后
	 * @return: void
	 * @author: zhoumh
	 * @version: 创建时间：2017年10月31日 下午4:21:01 
	 * @Description: 每天晚上20-23点之间每半小时提醒一次
	 */
//	@Scheduled(cron = "27 0/30 19-23 * * ?")
//	@Scheduled(cron = "10 * 9-22 * * ?")
	public void warnWorkNotes() {
		int submit = messageInfoDao.sumMsgBySubmit(DateUtil.getDate());
		if (submit>2) {
			logger.info("今天工作日志已提交，不再提醒");
			return;
		}
		// 获取未提交工作日志的人员列表
		String message = iamtopNotes.noSubmitNotes();
		// 如果工作日志未提报人员为空，那就更改提醒内容
		if (message.length()==43) {
			message = DateUtil.getDateTime()+" 今天的工作日志已全部提交。";
		}
		// 调用公众号发送
		String zmh = "oq8Y20dXcYxg4Pk_dI6VVtnLZM0Q";
		MessageInfo messageInfo = new MessageInfo();
		messageInfo.setContent(message);
		messageInfo.setOpenid(zmh);
		messageInfo.setSendmode("0");
		messageInfo.setType("2");
		messageInfo.setSendtime(DateUtil.getDateTime());
		int rs = messageInfoDao.insMsg(messageInfo);
		if (rs == 1) {
			logger.info("消息保存成功："+message);
		}else{
			logger.error("消息保存失败，"+message);
		}
		
	}
}
